package vista;

import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.SwingConstants;
import javax.swing.ImageIcon;
import java.io.File;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
import java.awt.event.WindowListener;
import java.awt.event.ItemListener;
import javax.swing.event.DocumentListener;

public class VentanaCategoria extends JFrame
{
    private JButton btnGuardar,btnModificar,btnEliminar,btnCancelar,btnSalir,
                    btnSiguiente,btnAtras,btnPrimero,btnUltimo;
    private JTextField txtCodCategoria,txtNombreCorto,txtNombreLargo;    
    
    public VentanaCategoria()
    {     
    	super("Categorias");
    	ImageIcon imgCategoria= new ImageIcon(getClass().getResource("imagenes" + File.separator + "categorias.png"));
    	ImageIcon imgSiguiente= new ImageIcon(getClass().getResource("imagenes" + File.separator + "siguiente.gif"));
    	ImageIcon imgAtras= new ImageIcon(getClass().getResource("imagenes" + File.separator + "atras.gif"));
    	ImageIcon imgPrimero= new ImageIcon(getClass().getResource("imagenes" + File.separator + "primero.gif"));
    	ImageIcon imgUltimo= new ImageIcon(getClass().getResource("imagenes" + File.separator + "ultimo.gif"));
    	
        ImageIcon imgGuardar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "guardar.png"));
        ImageIcon imgModificar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "modificar.png"));
        ImageIcon imgEliminar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "eliminar.png"));
        ImageIcon imgCancelar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "cancelar.png"));
        ImageIcon imgSalir= new ImageIcon(getClass().getResource("imagenes" + File.separator + "salir.png"));
        
        
        PanelFondo panelFondo= new PanelFondo();
        PanelFrente panelFrente= new PanelFrente();
        
        JLabel lblTitulo= new JLabel("CATEGORIAS");
        JLabel lblCodCategoria= new JLabel("Codigo:");
        JLabel lblNombreCorto= new JLabel("Nombre Corto:");
        JLabel lblNombreLargo= new JLabel("Nombre Largo:");        
        
        
         JLabel lblLogo= new JLabel(imgCategoria);
        
        JToolBar barraHerramientas= new JToolBar();
       
        
        /*Botones de Navegacion*/
        JToolBar barraNavegacion= new JToolBar();
        
        barraNavegacion.setFloatable(false);
        barraNavegacion.setOpaque(false);
        barraNavegacion.setBorderPainted(false);
        
        btnSiguiente= new JButton(imgSiguiente);
        btnAtras= new JButton(imgAtras);
        btnPrimero= new JButton(imgPrimero);
        btnUltimo= new JButton(imgUltimo);
        
        btnSiguiente.setActionCommand("Siguiente");
        btnAtras.setActionCommand("Atras");
        btnPrimero.setActionCommand("Primero");
        btnUltimo.setActionCommand("Ultimo");
        
        btnPrimero.setToolTipText("Primero");
        btnAtras.setToolTipText("Atras");
        btnSiguiente.setToolTipText("Siguiente");
        btnUltimo.setToolTipText("Ultimo");
        
        barraNavegacion.add(btnPrimero);
        barraNavegacion.add(btnAtras);
        barraNavegacion.add(btnSiguiente);
        barraNavegacion.add(btnUltimo);
        /********Fin de botones de Navegacion*******/
       
        btnGuardar= new JButton("GUARDAR",imgGuardar);
        btnModificar= new JButton("MODIFICAR",imgModificar);
        btnEliminar= new JButton("ELIMINAR",imgEliminar);
        btnCancelar= new JButton("CANCELAR",imgCancelar);
        btnSalir= new JButton("SALIR",imgSalir);
        
        
        txtCodCategoria= new JTextField();
        txtNombreCorto= new JTextField();
        txtNombreLargo= new JTextField();        
        
        txtCodCategoria.setName("txtCodCategoria");
        txtNombreCorto.setName("txtNombreCorto");
        txtNombreLargo.setName("txtNombreLargo");        
        

        barraHerramientas.setFloatable(false);
        barraHerramientas.setOpaque(false);
        barraHerramientas.setBorderPainted(false);
        


        btnGuardar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnGuardar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnGuardar.setOpaque(false);
        btnGuardar.setBorderPainted(false);

        btnModificar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnModificar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnModificar.setOpaque(false);
        btnModificar.setBorderPainted(false);

        btnEliminar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnEliminar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnEliminar.setOpaque(false);
        btnEliminar.setBorderPainted(false);

        btnCancelar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnCancelar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnCancelar.setOpaque(false);
        btnCancelar.setBorderPainted(false);

        btnSalir.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnSalir.setHorizontalTextPosition(SwingConstants.CENTER);
        btnSalir.setOpaque(false);
        btnSalir.setBorderPainted(false);
        
        barraHerramientas.add(btnGuardar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnModificar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnEliminar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnCancelar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnSalir);
        
        lblTitulo.setFont(new Font(Font.SERIF,Font.BOLD,20));

        panelFrente.setLayout(null);

        panelFrente.add(lblLogo);
        lblLogo.setBounds(10, 10, 230, 190);

        
        panelFrente.add(lblCodCategoria);
        lblCodCategoria.setBounds(250, 35, 100, 20);
        lblCodCategoria.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(lblNombreCorto);
        lblNombreCorto.setBounds(250, 82, 120, 20);
        lblNombreCorto.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(lblNombreLargo);
        lblNombreLargo.setBounds(250, 140, 120, 20);
        lblNombreLargo.setFont(new Font(Font.DIALOG,Font.BOLD,15));
          
        
        panelFrente.add(txtCodCategoria);
        txtCodCategoria.setBounds(365, 31, 139, 25);

        panelFrente.add(txtNombreCorto);
        txtNombreCorto.setBounds(365, 82, 240, 25);

                
        panelFrente.add(txtNombreLargo);
        txtNombreLargo.setBounds(365,140,240,25);

        
        panelFrente.add(barraNavegacion);
        barraNavegacion.setBounds(210, 200, 200, 30);
        
        panelFrente.add(barraHerramientas);
        barraHerramientas.setBounds(78, 250, 500, 90);

        panelFondo.setLayout(null);

        panelFondo.add(lblTitulo);
        lblTitulo.setBounds(290, 10,180, 30);

        panelFondo.add(panelFrente);

        add(panelFondo);

        
        
        setSize(720,510);
        panelFrente.setBounds(40, 50, 625, 380);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   
    }
    
    public void actualizarInfo(String codigo,String nombreCorto,
    		                   String nombreLargo)
    {
    	    	
    	txtCodCategoria.setText(codigo);
    	txtNombreCorto.setText(nombreCorto);
    	txtNombreLargo.setText(nombreLargo);    		
    }
    
    public void addListener(ActionListener escuchador)
    {
    	btnGuardar.addActionListener(escuchador);
        btnEliminar.addActionListener(escuchador);
        btnModificar.addActionListener(escuchador);
        btnCancelar.addActionListener(escuchador);
        btnSalir.addActionListener(escuchador);
     
        btnSiguiente.addActionListener(escuchador);
        btnAtras.addActionListener(escuchador);
        btnPrimero.addActionListener(escuchador);
        btnUltimo.addActionListener(escuchador);
    }
    
    public void addListener(KeyListener escuchador)
    {
         txtCodCategoria.addKeyListener(escuchador);
         txtNombreCorto.addKeyListener(escuchador);
         txtNombreLargo.addKeyListener(escuchador);         
    }
    
    
    
    public void addListener(WindowListener escuchador)
    {
         this.addWindowListener(escuchador);
    }
    
    public void addListener(FocusListener escuchador)
    {
    	txtCodCategoria.addFocusListener(escuchador);
    	
    	
    }   
    
    public void habilitarBotonActualizar(String boton)
    {
    	if (btnGuardar.getActionCommand().equalsIgnoreCase(boton))
    	   btnGuardar.setEnabled(true);
    	else if (btnEliminar.getActionCommand().equalsIgnoreCase(boton))
    	   btnEliminar.setEnabled(true);
    	else if (btnModificar.getActionCommand().equalsIgnoreCase(boton))
    	   btnModificar.setEnabled(true);
    	else if (btnCancelar.getActionCommand().equalsIgnoreCase(boton))
     	   btnCancelar.setEnabled(true);
    	
    }
    
    public void deshabilitarBotonActualizar(String boton)
    {
    	if (btnGuardar.getActionCommand().equalsIgnoreCase(boton))
    	   btnGuardar.setEnabled(false);
    	else if (btnEliminar.getActionCommand().equalsIgnoreCase(boton))
    	   btnEliminar.setEnabled(false);
    	else if (btnModificar.getActionCommand().equalsIgnoreCase(boton))
    	   btnModificar.setEnabled(false);
    	else if (btnCancelar.getActionCommand().equalsIgnoreCase(boton))
     	   btnCancelar.setEnabled(false);
    	
    }
    
    public void habilitarNavegacion()
    {
    	btnSiguiente.setEnabled(true);
    	btnAtras.setEnabled(true);
    	btnPrimero.setEnabled(true);
    	btnUltimo.setEnabled(true);
    }
    
    public void deshabilitarNavegacion()
    {
    	btnSiguiente.setEnabled(false);
    	btnAtras.setEnabled(false);
    	btnPrimero.setEnabled(false);
    	btnUltimo.setEnabled(false);
    }
    
    public void limpiarTextos()
    {
    	txtNombreCorto.setText("");
    	txtNombreLargo.setText("");    	
    }
      
    public String getCodCategoria()
    {
    	return txtCodCategoria.getText();
    	
    
    }
    
    public String getNombreCorto()
    {
    	return txtNombreCorto.getText();
    }
    
    public String getNombreLargo()
    {
    	return txtNombreLargo.getText();
    }
}

